The present invention relates to a method and apparatus for synchronizing a number of decoders in a bi-directional communication network such as a cable television network. In particular, synchronizing data that is inserted into a blanking interval of each television signal designates a horizontal line which is synchronized with a network synchronization (sync) clock. By synchronizing each television signal with the network sync clock, each subscriber terminal (e.g., decoder) in the network can also be synchronized with the network sync clock, and an upstream channel can be time-shared by one or more subscriber terminals to communicate messages synchronously with the network clock to a headend or other network control center.
Interactive applications for television communication networks allow users to transmit messages upstream from a decoder/transmitter terminal (e.g., set-top box) to a headend, or central control point, of the television network. For example, in cable television networks, one or more upstream or return paths are provided for such upstream messages. The upstream path may be provided in the frequency range of 5-30 MHz, for example. Moreover, many set-top boxes which are currently deployed transmit in the range of 8-12 MHz or 8-15 MHz. Generally, the upstream signals do not interfere with the television signals, which are transmitted at carrier frequencies from about 50-500 MHz.
The provision of an upstream channel allows users to transmit messages relating to pay-per-view (PPV) requests, near-video-on-demand (NVOD) requests, requests for account status, Internet access commands, electronic mail, opinion poll data, game or contest data, home shopping data, or other interactive services, for example. Additionally, the above data may be accumulated by the decoder and transmitted on a near-real-time basis or non-real-time basis. Moreover, maintenance functions of the decoder which do not require a user input may also require transmission of upstream messages. This non-user data may relate to monitoring of viewing selections for marketing purposes. Alternatively, non-user data may relate to a decoder status, for example, whether the decoder has been tampered with, or whether the decoder has been updated with particular software.
However, to optimize the throughput of the upstream channel, it is necessary to have a scheme for coordinating the upstream messages of each decoder. With one conventional scheme, the headend polls a particular decoder using an out-of-band signal (e.g., out of the television signal band) to inform that decoder that it can begin transmitting its upstream message. Since the headend controls the transmission of all upstream messages, no further time synchronization between the headend and the decoders is required.
However, the polling scheme is problematic since it is not known when a particular set-top box will have a message to transmit. Allocation of an upstream transmission period which is not used is bandwidth-inefficient. Additionally, the transmission of the polling signal consumes bandwidth.
With another conventional scheme, a decoder can tune to a particular channel and synchronize to the television signal on that channel. However, the user is forced to tune to the particular channel. This can be inconvenient if the upstream message which is to be transmitted is not related to the content of the particular television signal. For example, the user may be forced to tune to a channel for ordering pay-per-view programming, but the user may wish to transmit Internet commands or other messages which are not related to the pay-per-view programming.
Additionally, with the conventional schemes, the headend must also synchronize to the particular television signal, and therefore cannot synchronize to an independent network sync signal. Moreover, the conventional schemes do not account for variations in timing of the television signal due to standard tolerances which are acceptable in the industry, and do not allow the use of an independent network sync signal which can be designed to higher accuracy tolerances.
With other conventional schemes, such as the unslotted or unsynchronized ALOHA approach, no synchronization signal is used, and each decoder begins transmitting data packets at arbitrary times. The data packets are broadcast back to the decoders when received by the headend. Thus, a decoder can verify that its packet has been received at the headend. If the packet has not been received, the decoder simply tries to re-transmit it to the headend. However, due to the probability of collisions between different packets, the system throughput is relatively low.
Accordingly, it would be desirable to provide a system for synchronizing one or more decoders in a television network with a network sync signal at a headend of the network. The system should provide synchronization of each decoder without requiring the decoders to tune to a particular television channel. The system should be effective with a plurality of asynchronous television signals. The system should avoid the need for out-of-band polling signals to be sent to the decoders. Furthermore, the system should provide real-time compensation for variations in the timing accuracy of each television signal.
The present invention provides a system having the above and other advantages.